A sewing machine has been known which maintains a constant stitch length, by determining the amount of movement of the fabric on a throat plate by an optical sensor fixedly mounted on a frame of a sewing machine, and by controlling the rotational speed of a sewing machine motor so that the stitch is performed with a fixed amount of movement, are known (see, for example, Japanese Patent Application No. 4724938).
However, in the sewing machine of the related art, as illustrated in FIG. 7A, when a sewing needle 112 is positioned above the fabric, a sensor 121 can correctly detect the movement amount m of the fabric C. However, when the sewing needle 112 is stuck into the fabric C, since the movement of the fabric C is restricted, the sensor 121 cannot accurately detect the movement amount of the fabric.
In particular, when the sewing needle 112 passes through the bottom dead center and moves upward, as illustrated in FIG. 7B, since the fabric C is pulled up together with the sewing needle 112, a movement component mf is generated in the fabric C, and the sensor 121 further degrades the detection precision of the movement amount of the fabric.